package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 追踪记录对象 sys_strack
 *
 * @author ruoyi
 * @date 2025-06-10
 */
public class SysStrack extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 追踪记录 */
    @Excel(name = "追踪记录")
    private String trackingRecords;

    /** 追踪结果 */
    @Excel(name = "追踪结果")
    private Long trackingResults;

    /** 签约可能 */
    @Excel(name = "签约可能")
    private Long signingResults;

    /** 电话是否有效 */
    @Excel(name = "电话是否有效")
    private Long isValid;

    /** 下次追踪日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "下次追踪日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nextTrackTime;

    /** 追踪方式 */
    @Excel(name = "追踪方式")
    private Long trackMethod;

    /** 线索客户主键 */
    @Excel(name = "线索客户主键")
    private Long customerId;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setTrackingRecords(String trackingRecords)
    {
        this.trackingRecords = trackingRecords;
    }

    public String getTrackingRecords()
    {
        return trackingRecords;
    }

    public void setTrackingResults(Long trackingResults)
    {
        this.trackingResults = trackingResults;
    }

    public Long getTrackingResults()
    {
        return trackingResults;
    }

    public void setSigningResults(Long signingResults)
    {
        this.signingResults = signingResults;
    }

    public Long getSigningResults()
    {
        return signingResults;
    }

    public void setIsValid(Long isValid)
    {
        this.isValid = isValid;
    }

    public Long getIsValid()
    {
        return isValid;
    }

    public void setNextTrackTime(Date nextTrackTime)
    {
        this.nextTrackTime = nextTrackTime;
    }

    public Date getNextTrackTime()
    {
        return nextTrackTime;
    }

    public void setTrackMethod(Long trackMethod)
    {
        this.trackMethod = trackMethod;
    }

    public Long getTrackMethod()
    {
        return trackMethod;
    }

    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId()
    {
        return customerId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("trackingRecords", getTrackingRecords())
                .append("trackingResults", getTrackingResults())
                .append("signingResults", getSigningResults())
                .append("isValid", getIsValid())
                .append("nextTrackTime", getNextTrackTime())
                .append("trackMethod", getTrackMethod())
                .append("customerId", getCustomerId())
                .toString();
    }
}